An SDN controller is used to communicate with network devices in a network to control various functions of the network devices. SDN controllers tend to support a single particular protocol, such as the OpenFlow protocol, and thus are limited only to greenfield environments. In reality, there are deployments in which there are devices with different capabilities and which are configured to use different SDN protocols.